.. _cemCfgInOutRatio_Set: cemCfgInOutRatio_Set ==================== -------------------- SYNOPSIS -------- .. code-block:: none VT_I4 cemCfgInOutRatio_Set( VT_I4 Axis, VT_R8 Ratio ) DESCRIPTION ----------- - 입력 펄스(Feedback Pulse)와 출력 펄스(Command Pulse)의 분해능 비율(Resolution ratio) 을 설정합니다. 여기서 입력 펄스의 분해능이란 엔코더의 1 회전 시에 발생되는 펄스 수를 의미하며, 출력 펄스의 분해능이란 모터를 1 회전시키기 위해 필요한 출력 펄스 수를 의미합니다. PARAMETER --------- - Axis : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대. 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. - Ratio : 입력 펄스와 출력 펄스의 분해능 비율을 설정 혹은 반환합니다. 이 값은 아래와 같이. 설정합니다. Ratio = (Feedback pulse resolution) / (Command pulse resolution). RETURN VALUE ------------ +----------------+-----------+ | Value | Meaning | +================+===========+ | 음수 | 수행 실패 | +----------------+-----------+ | 0 (ceERR_NONE) | 수행 성공 | +----------------+-----------+ .. note:: In/Out Ratio 는 Actual(Feedback) position 또는 Actual speed 를 논리 단위로 읽을 때 적용됩니다. 논리적 단위 거리나 단위 속도는 출력 펄스 기준으로 설정되므로 출력 펄스와 입력 펄스의 분해능이 서로 다르다면 Actual position 이나 Actual speed 의 논리값 계산이 잘못되게 됩니다. In/Out Ratio 는 cemStPosition_Get 함수와 cemStSpeed_Get 함수에서 대상 카운터를 입력 펄스 카운터(cemCNT_FEED)로 설정 한 경우에만 영향을 미칩니다. Example ------- .. code-block:: cpp :linenos: C/C++ #include “ceSDK.h” #include “ceSDKDef.h” void OnSetInOutRatio () { long nAxisNo = 0; // 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다. double fInOutRatio; // 분해능 비율 정보. /* 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은 cemStPosition_Get, cemStSpeed_Get 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다. */ // 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다. if ( cemCfgInOutRatio_Get ( nAxisNo, &fInOutRatio ) != ceERR_NONE ) { if ( fInOutRatio != 1.0f ) { cemCfgInOutRatio_Set ( nAxisNo, 1.0f ); } } }